let EpochManage = [
  {
    inputs: [
      {
        internalType: 'bool',
        name: 'isNewEpoch',
        type: 'bool',
      },
    ],
    name: 'checkAndCreateNewEpochAndUpdateAccRPSAccSPS',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'checkAndCreateNewEpochAndUpdateLiquidity',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'currentEpochIndex',
    outputs: [
      {
        internalType: 'uint64',
        name: '',
        type: 'uint64',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getCurrentEpoch',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'getCurrentEpochInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256',
            name: 'epochId',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'crossSPS',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'accRPS',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'accSPS',
            type: 'uint256',
          },
        ],
        internalType: 'struct IEpochManage.EpochInfo',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint64',
        name: 'epochIndex',
        type: 'uint64',
      },
    ],
    name: 'getEpochInfo',
    outputs: [
      {
        components: [
          {
            internalType: 'uint256',
            name: 'epochId',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'crossSPS',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'accRPS',
            type: 'uint256',
          },
          {
            internalType: 'uint256',
            name: 'accSPS',
            type: 'uint256',
          },
        ],
        internalType: 'struct IEpochManage.EpochInfo',
        name: '',
        type: 'tuple',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint64',
        name: 'epochIndex',
        type: 'uint64',
      },
    ],
    name: 'getTimestampFromEpoch',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'contract IMetaDefender',
        name: '_metaDefender',
        type: 'address',
      },
      {
        internalType: 'contract ILiquidityCertificate',
        name: '_liquidityCertificate',
        type: 'address',
      },
      {
        internalType: 'contract IPolicy',
        name: '_policy',
        type: 'address',
      },
    ],
    name: 'init',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
  {
    inputs: [],
    name: 'initialized',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'isExitDay',
    outputs: [
      {
        internalType: 'bool',
        name: '',
        type: 'bool',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [],
    name: 'nextExitDay',
    outputs: [
      {
        internalType: 'uint256',
        name: '',
        type: 'uint256',
      },
    ],
    stateMutability: 'view',
    type: 'function',
  },
  {
    inputs: [
      {
        internalType: 'uint256',
        name: 'SPS',
        type: 'uint256',
      },
      {
        internalType: 'uint64',
        name: 'enteredEpochIndex',
        type: 'uint64',
      },
    ],
    name: 'updateCrossShadow',
    outputs: [],
    stateMutability: 'nonpayable',
    type: 'function',
  },
]

export default EpochManage
